package com.wangsh.usersCenter.users.service;

import java.util.Map;

import com.wangsh.usersCenter.common.pojo.ApiResponse;
import com.wangsh.usersCenter.users.pojo.AAdmins;
import com.wangsh.usersCenter.users.pojo.AUsers;

/**
 * 不需要登陆的Service操作,
 * 把Controller复杂的一些操作放到Service层;
 * 因为接口层和网页层要共用
 * @author wangsh
 */
public interface INoLoginOperService
{
	/**
	 * 登陆提交
	 * @param paramsMap	上行参数,包含用户名,密码,验证码
	 * @return	ApiResponse
	 */
	ApiResponse<Object> operLoginSubmitService(Map<String, Object> paramsMap);
	
	/**
	 * 管理员登陆提交
	 * @param paramsMap
	 * @return
	 */
	ApiResponse<Object> operAdminsLoginSubmitService(Map<String, Object> paramsMap);
	
	/**
	 * 注册提交
	 * @param paramsMap	上行参数,包含用户名,密码,验证码
	 * @return	ApiResponse
	 */
	ApiResponse<Object> operRegisterSubmitService(Map<String, Object> paramsMap) ; 
	
	/**
	 * 发送邮件
	 * @param paramsMap	上行参数,包含用户名,密码,验证码
	 * @return	ApiResponse
	 */
	ApiResponse<Object> operEmailVerfySendService(Map<String, Object> paramsMap) ; 
	
	/**
	 * 邮箱验证
	 * @param paramsMap	上行参数,包含用户名,密码,验证码
	 * @return	ApiResponse
	 */
	ApiResponse<Object> operEmailVerfyService(Map<String, Object> paramsMap) ; 

	/**
	 * 忘记密码提交
	 * @param paramsMap	上行参数,包含用户名,密码,验证码
	 * @return	ApiResponse
	 */
	ApiResponse<Object> operForgetPassSubmit(Map<String, Object> paramsMap);
	
	/**
	 * 重置密码
	 * @param paramsMap	上行参数,包含用户名,密码,验证码
	 * @return	ApiResponse
	 */
	ApiResponse<Object> operResetPass(Map<String, Object> paramsMap);
	
	/**
	 * 重置密码提交
	 * @param paramsMap	上行参数,包含用户名,密码,验证码
	 * @return	ApiResponse
	 */
	ApiResponse<Object> operResetPassSubmit(Map<String, Object> paramsMap);
	
	/**
	 * 为用户增加Token
	 * @param users
	 * @return
	 */
	ApiResponse<AUsers> operAddUsersTokenService(AUsers users);
	
	/**
	 * 为管理员增加Token
	 * @param users
	 * @return
	 */
	ApiResponse<AAdmins> operAddAdminsTokenService(AAdmins admins);
}
